package com.yuyou.fn.educational.entity;

import com.github.wens.mybatisplus.annotations.TableField;
import com.github.wens.mybatisplus.annotations.TableId;
import com.github.wens.mybatisplus.annotations.TableName;
import com.github.wens.mybatisplus.examples.Example;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 *
 * 课程班级
 *
 */
@TableName(value = "course_class")
public class CourseClass implements Serializable {

	@TableField(exist = false)
	private static final long serialVersionUID = 1L;

	public static Example<CourseClass> createExample(){
		return new Example<CourseClass>(CourseClass.class);
	}

	@TableField(exist = false)
	public static String[] BASE_FIELDS = new String[]{"classId","className","courseTemplateId","gradeId","gradeName","subjectId","subjectName","lectureAmount","quota","studyingFee","materialFee","regAmount","openRegTime","seniorId","seniorName","periodId","periodName","completedLectureAmount","areaTeamId","busTeamId","campusId","campusName","status","areaTeamName","busTeamName","no","progressStatus","studyingTime","productId","classNo","classType" ,"startCourseTime" ,"endCourseTime","level","teacherId","teacherName" ,"segmentNo","classNo","classDateTip","roomId","roomName","lockAmount"};

	/**  */
	@TableId(value = "class_id")
	private Long classId;

	/** 班级名称 */
	@TableField(value = "class_name")
	private String className;

	/** 课程模板ID */
	@TableField(value = "course_template_id")
	private Long courseTemplateId;

	/** 年级ID */
	@TableField(value = "grade_id")
	private Long gradeId;

	/** 年级名称 */
	@TableField(value = "grade_name")
	private String gradeName;

	/** 科目ID */
	@TableField(value = "subject_id")
	private Long subjectId;

	/** 科目名称 */
	@TableField(value = "subject_name")
	private String subjectName;

	/** 课程讲数 */
	@TableField(value = "lecture_amount")
	private Integer lectureAmount;

	/** 每一讲时长（分钟） */
	@TableField(value = "lecture_duration")
	private Integer lectureDuration;

	/** 学生名额 */
	private Integer quota;

	/** 学费 */
	@TableField(value = "studying_fee")
	private BigDecimal studyingFee;

	/** 资料学费 */
	@TableField(value = "material_fee")
	private BigDecimal materialFee;

	/** 课程介绍 */
	@TableField(value = "course_description")
	private String courseDescription;

	/** 已报名人数 */
	@TableField(value = "reg_amount")
	private Integer regAmount;

	/** 开放报名时间 */
	@TableField(value = "open_reg_time")
	private Date openRegTime;

	/** 班主任ID */
	@TableField(value = "senior_id")
	private Long seniorId;

	/** 班主任Name */
	@TableField(value = "senior_name")
	private String seniorName;

	/** 教室ID */
	@TableField(value = "room_id")
	private Long roomId;

	/** 教室名称 */
	@TableField(value = "room_name")
	private String roomName;

	/** 是否排教室 0:未排教室 1:已排教室 */
	@TableField(value = "is_arrange_room")
	private Integer isArrangeRoom;

	/** 是否排时间 0:未排时间 1:已排时间 */
	@TableField(value = "is_arrange_time")
	private Integer isArrangeTime;

	/** 是否排老师 0:未排教师 1:已排教师） */
	@TableField(value = "is_arrange_teacher")
	private Integer isArrangeTeacher;

	/** 期ID */
	@TableField(value = "period_id")
	private Long periodId;

	@TableField("period_name")
	private String periodName ;

	/** 开课时间 */
	@TableField(value = "start_course_time")
	private Date startCourseTime;

	/** 结课时间 */
	@TableField(value = "end_course_time")
	private Date endCourseTime;


	/** 课程进度 已经结束的讲数 */
	@TableField(value = "completed_lecture_amount")
	private Integer completedLectureAmount;

	/**  */
	@TableField(value = "area_team_id")
	private Long areaTeamId;

	/**  */
	@TableField(value = "bus_team_id")
	private Long busTeamId;

	/**  */
	@TableField(value = "create_time")
	private Date createTime;

	/**  */
	@TableField(value = "update_time")
	private Date updateTime;

	/** 课程大纲 */
	@TableField(value = "course_outline")
	private String courseOutline;

	/** 校区id */
	@TableField(value = "campus_id")
	private Long campusId;

	/** 校区名称 */
	@TableField(value = "campus_name")
	private String campusName;

	/** 班级状态 0:初始化 1:报名中 2：已作废 3：已结课 */
	@TableField(value = "status")
	private Integer status;

	/** 区域名称 */
	@TableField(value = "area_team_name")
	private String areaTeamName;

	/** 业务组名称 */
	@TableField(value = "bus_team_name")
	private String busTeamName;


	/** 进度状态 0:未开课 1:已开课 2:已结课 */
	@TableField(value = "progress_status")
	private Integer progressStatus;

	/** 上课时间 */
	@TableField(value = "studying_time")
	private String studyingTime;


	/** 是否推荐 0:否 1:是 */
	@TableField(value = "is_recommend")
	private Integer isRecommend;

	/** 产品Id */
	@TableField(value = "product_id")
	private Long productId;

	/** 编辑编号 */
	@TableField(value = "class_no")
	private String classNo ;

	private Integer level ;

	/** 段次 */
	@TableField("segment_no")
	private Integer segmentNo ;

	/** 上课日期tip */
	@TableField("class_date_tip")
	private String classDateTip ;

	/** 教师ID,多个用逗号隔开 */
	@TableField(value = "teacher_ids")
	private String teacherIds;

	/** 教师姓名 */
	@TableField(value = "teacher_names")
	private String teacherNames;

	/** 班级类型 0：普通班 1：众筹班 */
	@TableField("class_type")
	private Integer classType;

	@TableField("teacher_id")
	private Long teacherId;

	@TableField("teacher_name")
	private String teacherName;

	@TableField("job_nature")
	private Integer jobNature;

	@TableField("class_alias_name")
	private String classAliasName;

	/** 锁定人数 */
	@TableField(value = "lock_amount")
	private Integer lockAmount;

	/*reg_amount ,lock_amount  更新时间*/
	@TableField("degree_update_time")
	private Date degreeUpdateTime;

	public Integer getLockAmount() {
		return lockAmount;
	}

	public void setLockAmount(Integer lockAmount) {
		this.lockAmount = lockAmount;
	}

	public String getTeacherIds() {
		return teacherIds;
	}

	public void setTeacherIds(String teacherIds) {
		this.teacherIds = teacherIds;
	}

	public String getTeacherNames() {
		return teacherNames;
	}

	public void setTeacherNames(String teacherNames) {
		this.teacherNames = teacherNames;
	}

	public String getStudyingTime() {
		return studyingTime;
	}

	public void setStudyingTime(String studyingTime) {
		this.studyingTime = studyingTime;
	}

	public Integer getProgressStatus() {
		return progressStatus;
	}

	public void setProgressStatus(Integer progressStatus) {
		this.progressStatus = progressStatus;
	}

	public Long getClassId() {
		return this.classId;
	}

	public void setClassId(Long classId) {
		this.classId = classId;
	}

	public String getClassName() {
		return this.className;
	}

	public void setClassName(String className) {
		this.className = className;
	}

	public Long getCourseTemplateId() {
		return this.courseTemplateId;
	}

	public void setCourseTemplateId(Long courseTemplateId) {
		this.courseTemplateId = courseTemplateId;
	}

	public Long getGradeId() {
		return this.gradeId;
	}

	public void setGradeId(Long gradeId) {
		this.gradeId = gradeId;
	}

	public String getGradeName() {
		return this.gradeName;
	}

	public void setGradeName(String gradeName) {
		this.gradeName = gradeName;
	}

	public Long getSubjectId() {
		return this.subjectId;
	}

	public void setSubjectId(Long subjectId) {
		this.subjectId = subjectId;
	}

	public String getSubjectName() {
		return this.subjectName;
	}

	public void setSubjectName(String subjectName) {
		this.subjectName = subjectName;
	}

	public Integer getLectureAmount() {
		return this.lectureAmount;
	}

	public void setLectureAmount(Integer lectureAmount) {
		this.lectureAmount = lectureAmount;
	}

	public Integer getLectureDuration() {
		return this.lectureDuration;
	}

	public void setLectureDuration(Integer lectureDuration) {
		this.lectureDuration = lectureDuration;
	}

	public Integer getQuota() {
		return this.quota;
	}

	public void setQuota(Integer quota) {
		this.quota = quota;
	}

	public BigDecimal getStudyingFee() {
		return this.studyingFee;
	}

	public void setStudyingFee(BigDecimal studyingFee) {
		this.studyingFee = studyingFee;
	}

	public BigDecimal getMaterialFee() {
		return this.materialFee;
	}

	public void setMaterialFee(BigDecimal materialFee) {
		this.materialFee = materialFee;
	}

	public String getCourseDescription() {
		return this.courseDescription;
	}

	public void setCourseDescription(String courseDescription) {
		this.courseDescription = courseDescription;
	}

	public Integer getRegAmount() {
		return this.regAmount;
	}

	public void setRegAmount(Integer regAmount) {
		this.regAmount = regAmount;
	}

	public Date getOpenRegTime() {
		return this.openRegTime;
	}

	public void setOpenRegTime(Date openRegTime) {
		this.openRegTime = openRegTime;
	}

	public Long getSeniorId() {
		return this.seniorId;
	}

	public void setSeniorId(Long seniorId) {
		this.seniorId = seniorId;
	}

	public String getSeniorName() {
		return this.seniorName;
	}

	public void setSeniorName(String seniorName) {
		this.seniorName = seniorName;
	}

	public Long getRoomId() {
		return this.roomId;
	}

	public void setRoomId(Long roomId) {
		this.roomId = roomId;
	}

	public String getRoomName() {
		return this.roomName;
	}

	public void setRoomName(String roomName) {
		this.roomName = roomName;
	}

	public Integer getIsArrangeRoom() {
		return this.isArrangeRoom;
	}

	public void setIsArrangeRoom(Integer isArrangeRoom) {
		this.isArrangeRoom = isArrangeRoom;
	}

	public Integer getIsArrangeTime() {
		return this.isArrangeTime;
	}

	public void setIsArrangeTime(Integer isArrangeTime) {
		this.isArrangeTime = isArrangeTime;
	}

	public Integer getIsArrangeTeacher() {
		return this.isArrangeTeacher;
	}

	public void setIsArrangeTeacher(Integer isArrangeTeacher) {
		this.isArrangeTeacher = isArrangeTeacher;
	}

	public Long getPeriodId() {
		return this.periodId;
	}

	public void setPeriodId(Long periodId) {
		this.periodId = periodId;
	}

	public Date getStartCourseTime() {
		return this.startCourseTime;
	}

	public void setStartCourseTime(Date startCourseTime) {
		this.startCourseTime = startCourseTime;
	}

	public Date getEndCourseTime() {
		return this.endCourseTime;
	}

	public void setEndCourseTime(Date endCourseTime) {
		this.endCourseTime = endCourseTime;
	}

	public Integer getCompletedLectureAmount() {
		return completedLectureAmount;
	}

	public void setCompletedLectureAmount(Integer completedLectureAmount) {
		this.completedLectureAmount = completedLectureAmount;
	}

	public Long getAreaTeamId() {
		return this.areaTeamId;
	}

	public void setAreaTeamId(Long areaTeamId) {
		this.areaTeamId = areaTeamId;
	}

	public Long getBusTeamId() {
		return this.busTeamId;
	}

	public void setBusTeamId(Long busTeamId) {
		this.busTeamId = busTeamId;
	}

	public Date getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getUpdateTime() {
		return this.updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public String getCourseOutline() {
		return this.courseOutline;
	}

	public void setCourseOutline(String courseOutline) {
		this.courseOutline = courseOutline;
	}

	public Long getCampusId() {
		return this.campusId;
	}

	public void setCampusId(Long campusId) {
		this.campusId = campusId;
	}

	public String getCampusName() {
		return this.campusName;
	}

	public void setCampusName(String campusName) {
		this.campusName = campusName;
	}

	public String getAreaTeamName() {
		return this.areaTeamName;
	}

	public void setAreaTeamName(String areaTeamName) {
		this.areaTeamName = areaTeamName;
	}

	public String getBusTeamName() {
		return this.busTeamName;
	}

	public void setBusTeamName(String busTeamName) {
		this.busTeamName = busTeamName;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}


	public Integer getIsRecommend() {
		return isRecommend;
	}

	public void setIsRecommend(Integer isRecommend) {
		this.isRecommend = isRecommend;
	}

	public Long getProductId() {
		return productId;
	}

	public void setProductId(Long productId) {
		this.productId = productId;
	}

	public String getClassNo() {
		return classNo;
	}

	public void setClassNo(String classNo) {
		this.classNo = classNo;
	}

	public Integer getLevel() {
		return level;
	}

	public void setLevel(Integer level) {
		this.level = level;
	}

	public Integer getSegmentNo() {
		return segmentNo;
	}

	public void setSegmentNo(Integer segmentNo) {
		this.segmentNo = segmentNo;
	}

	public String getClassDateTip() {
		return classDateTip;
	}

	public void setClassDateTip(String classDateTip) {
		this.classDateTip = classDateTip;
	}

	public String getPeriodName() {
		return periodName;
	}

	public void setPeriodName(String periodName) {
		this.periodName = periodName;
	}

	public Integer getClassType() {
		return classType;
	}

	public void setClassType(Integer classType) {
		this.classType = classType;
	}

	public Long getTeacherId() {
		return teacherId;
	}

	public void setTeacherId(Long teacherId) {
		this.teacherId = teacherId;
	}

	public String getTeacherName() {
		return teacherName;
	}

	public void setTeacherName(String teacherName) {
		this.teacherName = teacherName;
	}

	public Integer getJobNature() {
		return jobNature;
	}

	public void setJobNature(Integer jobNature) {
		this.jobNature = jobNature;
	}

	public String getClassAliasName() {
		return classAliasName;
	}

	public void setClassAliasName(String classAliasName) {
		this.classAliasName = classAliasName;
	}

	public Date getDegreeUpdateTime() {
		return degreeUpdateTime;
	}

	public void setDegreeUpdateTime(Date degreeUpdateTime) {
		this.degreeUpdateTime = degreeUpdateTime;
	}
}
